home *** CD-ROM | disk | FTP | other *** search
Relocatable Object Module | 1999-03-03 | 10.2 KB |
open in:
MacOS 8.1
|
Win98
|
DOS
view JSON data
|
view as text
This file was processed as: Relocatable Object Module
(other/relocatableObjectModule).
This format is not currently supported by dexvert.
Confidence | Program | Detection | Match Type | Support
|
---|
1%
| dexvert
| Relocatable Object Module (other/relocatableObjectModule)
| magic
| Unsupported |
100%
| file
| data
| default
| |
100%
| TrID
| OMF - Relocatable Object Module Format
| default (weak)
|
|
hex view+--------+-------------------------+-------------------------+--------+--------+
|00000000| 80 c3 00 80 cc 00 00 3b | 20 4d 61 70 20 66 69 6c |.......;| Map fil|
|00000010| 65 73 20 66 75 6c 6c 20 | 70 61 74 68 00 6d 61 70 |es full |path.map|
|00000020| 24 3d 22 64 61 74 61 2f | 6d 61 70 2e 6c 6d 61 70 |$="data/|map.lmap|
|00000030| 22 00 00 23 76 77 69 64 | 74 68 3d 33 32 30 20 20 |"..#vwid|th=320 |
|00000040| 20 20 20 20 20 20 20 20 | 20 20 20 3b 20 56 69 65 | | ; Vie|
|00000050| 77 57 69 64 74 68 00 23 | 76 77 69 64 74 68 32 3d |wWidth.#|vwidth2=|
|00000060| 23 76 77 69 64 74 68 2f | 32 20 20 20 20 20 20 3b |#vwidth/|2 ;|
|00000070| 20 48 61 6c 66 20 56 69 | 65 77 57 69 64 74 68 00 | Half Vi|ewWidth.|
|00000080| 23 76 68 65 69 67 68 74 | 3d 32 35 36 20 20 20 20 |#vheight|=256 |
|00000090| 20 20 20 20 20 20 20 20 | 3b 20 56 69 65 77 48 65 | |; ViewHe|
|000000a0| 69 67 68 74 00 23 76 68 | 65 69 67 68 74 32 3d 23 |ight.#vh|eight2=#|
|000000b0| 76 68 65 69 67 68 74 2f | 32 20 20 20 20 3b 20 48 |vheight/|2 ; H|
|000000c0| 61 6c 66 20 56 69 65 77 | 48 65 69 67 68 74 00 23 |alf View|Height.#|
|000000d0| 62 6d 77 69 64 74 68 3d | 23 76 77 69 64 74 68 20 |bmwidth=|#vwidth |
|000000e0| 20 20 20 20 20 20 20 3b | 20 42 69 74 6d 61 70 20 | ;| Bitmap |
|000000f0| 57 69 64 74 68 00 23 62 | 6d 68 65 69 67 68 74 3d |Width.#b|mheight=|
|00000100| 23 76 68 65 69 67 68 74 | 20 20 20 20 20 20 3b 20 |#vheight| ; |
|00000110| 42 69 74 6d 61 70 20 48 | 65 69 67 68 74 00 23 6e |Bitmap H|eight.#n|
|00000120| 75 6d 62 6c 6f 63 6b 73 | 3d 32 20 20 20 20 20 20 |umblocks|=2 |
|00000130| 20 20 20 20 20 20 3b 20 | 48 6f 77 20 4d 61 6e 79 | ; |How Many|
|00000140| 20 42 61 63 6b 67 72 6f | 75 6e 64 20 42 6c 6f 63 | Backgro|und Bloc|
|00000150| 6b 73 20 77 65 20 75 73 | 65 00 00 23 6e 75 6d 62 |ks we us|e..#numb|
|00000160| 75 6c 3d 32 30 30 20 20 | 20 20 20 20 20 20 20 20 |ul=200 | |
|00000170| 20 20 20 3b 20 6e 75 6d | 62 65 72 20 6f 66 20 61 | ; num|ber of a|
|00000180| 76 61 69 6c 61 62 6c 65 | 20 62 75 6c 6c 65 74 73 |vailable| bullets|
|00000190| 00 00 23 61 6e 67 6c 65 | 73 77 65 65 70 3d 36 34 |..#angle|sweep=64|
|000001a0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 46 75 6c 6c | | ; Full|
|000001b0| 20 43 69 72 63 6c 65 20 | 28 68 61 76 65 20 74 6f | Circle |(have to|
|000001c0| 20 62 65 20 70 6f 77 65 | 72 20 6f 66 20 32 21 21 | be powe|r of 2!!|
|000001d0| 21 29 00 23 68 61 6c 66 | 3d 23 61 6e 67 6c 65 73 |!).#half|=#angles|
|000001e0| 77 65 65 70 2f 32 20 20 | 20 20 20 3b 20 48 61 6c |weep/2 | ; Hal|
|000001f0| 66 20 43 69 72 63 6c 65 | 00 23 71 75 61 72 74 65 |f Circle|.#quarte|
|00000200| 72 3d 23 68 61 6c 66 2f | 32 20 20 20 20 20 20 20 |r=#half/|2 |
|00000210| 20 3b 20 51 75 61 72 74 | 65 72 20 43 69 72 63 6c | ; Quart|er Circl|
|00000220| 65 00 23 71 75 61 72 71 | 75 61 72 3d 23 71 75 61 |e.#quarq|uar=#qua|
|00000230| 72 74 65 72 2f 32 20 20 | 20 20 3b 20 48 61 6c 66 |rter/2 | ; Half|
|00000240| 20 4f 66 20 51 61 75 72 | 74 65 72 20 43 69 72 63 | Of Qaur|ter Circ|
|00000250| 6c 65 00 00 23 42 4f 4f | 4c 5f 46 41 4c 53 45 3d |le..#BOO|L_FALSE=|
|00000260| 30 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 42 4f |0 | ; BO|
|00000270| 4f 4c 45 41 4e 20 46 41 | 4c 53 45 20 28 73 61 6d |OLEAN FA|LSE (sam|
|00000280| 65 20 61 73 20 46 61 6c | 73 65 29 00 23 42 4f 4f |e as Fal|se).#BOO|
|00000290| 4c 5f 54 52 55 45 3d 31 | 20 20 20 20 20 20 20 20 |L_TRUE=1| |
|000002a0| 20 20 20 20 3b 20 42 4f | 4f 4c 45 41 4e 20 54 52 | ; BO|OLEAN TR|
|000002b0| 55 45 20 20 28 73 61 6d | 65 20 61 73 20 54 72 75 |UE (sam|e as Tru|
|000002c0| 65 29 00 00 73 6c 6f 74 | 2e 77 3d 31 30 20 20 20 |e)..slot|.w=10 |
|000002d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 73 6c | | ; sl|
|000002e0| 6f 74 5e 32 20 69 73 20 | 74 68 65 20 61 6d 6f 75 |ot^2 is |the amou|
|000002f0| 6e 74 20 6f 66 20 66 75 | 6c 6c 20 76 69 65 77 73 |nt of fu|ll views|
|00000300| 20 69 6e 00 20 20 20 20 | 20 20 20 20 20 20 20 20 | in. | |
|00000310| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 6f 75 | | ; ou|
|00000320| 72 20 70 6c 61 79 69 6e | 67 20 61 72 65 6e 61 00 |r playin|g arena.|
|00000330| 64 65 67 72 61 64 2e 71 | 3d 80 ba 2f 28 23 61 6e |degrad.q|=../(#an|
|00000340| 67 6c 65 73 77 65 65 70 | 2f 32 29 20 3b 20 41 64 |glesweep|/2) ; Ad|
|00000350| 64 69 6e 67 20 22 41 6e | 67 6c 65 22 20 62 79 20 |ding "An|gle" by |
|00000360| 6f 6e 65 20 61 64 64 73 | 20 69 74 20 74 68 69 73 |one adds| it this|
|00000370| 20 6d 61 6e 79 20 72 61 | 64 69 61 6e 73 00 64 65 | many ra|dians.de|
|00000380| 61 74 68 2e 77 3d 23 42 | 4f 4f 4c 5f 46 41 4c 53 |ath.w=#B|OOL_FALS|
|00000390| 45 20 20 20 20 20 3b 20 | 41 72 65 20 77 65 20 44 |E ; |Are we D|
|000003a0| 65 61 64 3f 00 00 80 01 | 20 2e 73 68 69 70 20 20 |ead?....| .ship |
|000003b0| 20 20 20 20 20 20 20 20 | 20 3b 20 4f 75 72 20 53 | | ; Our S|
|000003c0| 68 69 70 00 20 20 78 2e | 71 00 20 20 79 2e 71 00 |hip. x.|q. y.q.|
|000003d0| 20 20 76 65 6c 78 2e 71 | 00 20 20 76 65 6c 79 2e | velx.q|. vely.|
|000003e0| 71 00 80 02 20 80 01 00 | 00 80 01 2e 70 6f 73 20 |q... ...|....pos |
|000003f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 42 75 | | ; Bu|
|00000400| 6c 6c 65 74 73 20 50 6f | 73 69 74 69 6f 6e 00 20 |llets Po|sition. |
|00000410| 20 78 2e 71 00 20 20 79 | 2e 71 00 80 02 20 80 01 | x.q. y|.q... ..|
|00000420| 00 00 80 01 2e 76 65 6c | 20 20 20 20 20 20 20 20 |.....vel| |
|00000430| 20 20 20 20 20 3b 20 42 | 75 6c 6c 65 74 73 20 56 | ; B|ullets V|
|00000440| 65 6c 6f 63 69 74 79 00 | 20 20 76 78 2e 71 00 20 |elocity.| vx.q. |
|00000450| 20 76 79 2e 71 00 80 02 | 20 80 01 00 00 87 8e 20 | vy.q...| ...... |
|00000460| 31 20 20 20 20 3b 20 57 | 65 27 72 65 20 67 6f 69 |1 ; W|e're goi|
|00000470| 6e 67 20 74 6f 20 75 73 | 65 20 31 20 63 68 75 6e |ng to us|e 1 chun|
|00000480| 6b 79 20 62 69 74 6d 61 | 70 2e 00 87 8c 20 31 20 |ky bitma|p.... 1 |
|00000490| 3b 20 57 65 20 6f 6e 6c | 79 20 6e 65 65 64 20 6f |; We onl|y need o|
|000004a0| 6e 65 20 63 32 70 20 64 | 69 73 70 6c 61 79 2e 00 |ne c2p d|isplay..|
|000004b0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000004c0| 20 20 20 20 20 3b 20 57 | 65 20 6e 65 65 64 20 73 | ; W|e need s|
|000004d0| 68 61 70 65 73 20 66 6f | 72 20 74 68 65 20 73 68 |hapes fo|r the sh|
|000004e0| 69 70 20 61 6e 64 20 66 | 6f 72 20 62 61 63 6b 67 |ip and f|or backg|
|000004f0| 72 6f 75 6e 64 2e 00 20 | 20 20 20 20 20 20 20 20 |round.. | |
|00000500| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 61 6e | | ; an|
|00000510| 64 20 6f 6e 65 20 66 6f | 72 20 62 61 63 6b 67 72 |d one fo|r backgr|
|00000520| 6f 75 6e 64 20 73 61 76 | 69 6e 67 00 87 8d 20 23 |ound sav|ing... #|
|00000530| 61 6e 67 6c 65 73 77 65 | 65 70 2b 23 6e 75 6d 62 |angleswe|ep+#numb|
|00000540| 6c 6f 63 6b 73 2b 32 00 | 00 2e 69 6e 69 74 67 72 |locks+2.|..initgr|
|00000550| 61 70 68 69 63 73 00 3b | 20 48 65 72 65 20 77 65 |aphics.;| Here we|
|00000560| 20 77 69 6c 6c 20 61 6c | 6c 6f 63 61 74 65 20 6f | will al|locate o|
|00000570| 75 72 20 63 68 75 6e 6b | 79 20 62 75 66 66 65 72 |ur chunk|y buffer|
|00000580| 2e 00 64 77 69 64 74 68 | 2e 77 3d 73 6c 6f 74 2a |..dwidth|.w=slot*|
|00000590| 23 76 77 69 64 74 68 00 | 64 68 65 69 67 68 74 2e |#vwidth.|dheight.|
|000005a0| 77 3d 73 6c 6f 74 2a 23 | 76 68 65 69 67 68 74 00 |w=slot*#|vheight.|
|000005b0| 63 6d 61 70 2e 6c 3d 87 | 90 28 30 2c 64 77 69 64 |cmap.l=.|.(0,dwid|
|000005c0| 74 68 2c 64 68 65 69 67 | 68 74 29 20 3b 20 31 30 |th,dheig|ht) ; 10|
|000005d0| 2a 31 30 20 74 69 6d 65 | 73 20 74 68 65 20 76 69 |*10 time|s the vi|
|000005e0| 65 77 20 73 6f 20 69 74 | 27 73 20 68 75 67 65 20 |ew so it|'s huge |
|000005f0| 3b 29 00 80 0b 20 63 6d | 61 70 3d 30 20 20 20 20 |;)... cm|ap=0 |
|00000600| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000610| 20 20 20 20 3b 20 49 66 | 20 6e 6f 74 20 65 6e 6f | ; If| not eno|
|00000620| 75 67 68 20 6d 65 6d 6f | 72 79 20 77 65 20 74 72 |ugh memo|ry we tr|
|00000630| 79 20 74 6f 20 67 65 74 | 20 73 6d 61 6c 6c 65 72 |y to get| smaller|
|00000640| 20 6f 6e 65 00 20 20 73 | 6c 6f 74 3d 73 6c 6f 74 | one. s|lot=slot|
|00000650| 2d 32 00 20 20 80 0b 20 | 73 6c 6f 74 3e 30 20 20 |-2. .. |slot>0 |
|00000660| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000670| 20 20 20 20 3b 20 69 66 | 20 77 65 20 68 61 76 65 | ; if| we have|
|00000680| 20 73 6c 6f 74 20 76 61 | 6c 75 65 20 61 74 20 6c | slot va|lue at l|
|00000690| 65 61 73 74 20 31 20 77 | 65 20 74 72 79 20 74 6f |east 1 w|e try to|
|000006a0| 20 67 65 74 20 74 68 65 | 20 62 69 74 6d 61 70 00 | get the| bitmap.|
|000006b0| 20 20 20 20 80 05 20 69 | 6e 69 74 67 72 61 70 68 | .. i|nitgraph|
|000006c0| 69 63 73 00 20 20 80 22 | 00 20 20 20 20 80 02 20 |ics. ."|. .. |
|000006d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000006e0| 20 20 20 20 20 20 20 20 | 20 3b 20 69 66 20 69 74 | | ; if it|
|000006f0| 20 67 6f 65 73 20 66 6f | 72 20 6e 75 6c 6c 20 77 | goes fo|r null w|
|00000700| 65 20 68 61 76 65 20 6f | 6e 6c 79 20 6f 6e 65 20 |e have o|nly one |
|00000710| 73 6f 6c 75 74 69 6f 6e | 20 2d 3e 20 74 6f 20 51 |solution| -> to Q|
|00000720| 55 49 54 00 20 20 80 c0 | 00 80 c0 00 00 87 a1 20 |UIT. ..|....... |
|00000730| 30 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |0 | |
|00000740| 20 20 20 20 20 20 3b 20 | 41 6e 64 20 57 65 20 75 | ; |And We u|
|00000750| 73 65 20 69 74 00 00 3b | 20 4d 61 6b 65 20 73 6f |se it..;| Make so|
|00000760| 6d 65 20 73 68 61 70 65 | 73 00 88 26 20 30 2c 30 |me shape|s..& 0,0|
|00000770| 2c 31 35 2c 31 35 2c 31 | 32 37 20 20 20 20 20 20 |,15,15,1|27 |
|00000780| 20 20 20 20 20 20 20 20 | 3b 20 54 68 69 73 20 69 | |; This i|
|00000790| 73 20 6e 6f 72 6d 61 6c | 20 57 61 6c 6c 00 87 cb |s normal| Wall...|
|000007a0| 20 31 2c 30 2c 30 2c 31 | 36 2c 31 36 20 20 20 20 | 1,0,0,1|6,16 |
|000007b0| 20 20 20 20 20 20 20 3b | 20 47 72 61 62 20 74 68 | ;| Grab th|
|000007c0| 65 20 73 68 61 70 65 00 | 88 26 20 30 2c 30 2c 31 |e shape.|.& 0,0,1|
|000007d0| 35 2c 35 2c 32 35 35 20 | 20 20 20 20 20 20 20 20 |5,5,255 | |
|000007e0| 20 20 20 20 20 20 3b 20 | 41 6e 64 20 54 68 69 73 | ; |And This|
|000007f0| 20 6f 6e 65 20 69 73 20 | 61 20 6c 61 6e 64 69 6e | one is |a landin|
|00000800| 67 20 7a 6f 6e 65 00 87 | cb 20 32 2c 30 2c 30 2c |g zone..|. 2,0,0,|
|00000810| 31 36 2c 31 36 20 20 20 | 20 20 20 20 20 20 20 20 |16,16 | |
|00000820| 3b 20 41 6e 64 20 47 72 | 61 62 20 69 74 00 88 26 |; And Gr|ab it..&|
|00000830| 20 30 2c 30 2c 31 35 2c | 31 35 2c 30 20 20 20 20 | 0,0,15,|15,0 |
|00000840| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 43 6c | | ; Cl|
|00000850| 65 61 6e 20 74 68 65 20 | 61 72 65 61 00 80 04 20 |ean the |area... |
|00000860| 73 63 78 2e 71 28 23 61 | 6e 67 6c 65 73 77 65 65 |scx.q(#a|ngleswee|
|00000870| 70 2d 31 2c 32 29 20 20 | 20 20 20 20 20 3b 20 54 |p-1,2) | ; T|
|00000880| 68 65 73 65 20 61 72 65 | 20 75 73 65 64 20 69 6e |hese are| used in|
|00000890| 20 63 6f 6c 6c 69 73 69 | 6f 6e 20 64 65 74 65 63 | collisi|on detec|
|000008a0| 74 69 6e 67 00 80 04 20 | 73 63 79 2e 71 28 23 61 |ting... |scy.q(#a|
|000008b0| 6e 67 6c 65 73 77 65 65 | 70 2d 31 2c 32 29 20 20 |ngleswee|p-1,2) |
|000008c0| 20 20 20 20 20 3b 20 56 | 65 72 79 20 6c 61 6d 65 | ; V|ery lame|
|000008d0| 2c 20 62 75 74 20 65 6e | 6f 75 67 68 20 66 6f 72 |, but en|ough for|
|000008e0| 20 65 78 61 6d 70 6c 65 | 20 3b 29 00 80 04 20 62 | example| ;)... b|
|000008f0| 78 28 23 61 6e 67 6c 65 | 73 77 65 65 70 2d 31 29 |x(#angle|sweep-1)|
|00000900| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 42 75 | | ; Bu|
|00000910| 6c 6c 65 74 20 73 74 61 | 72 74 20 78 20 6f 66 66 |llet sta|rt x off|
|00000920| 73 65 74 00 80 04 20 62 | 79 28 23 61 6e 67 6c 65 |set... b|y(#angle|
|00000930| 73 77 65 65 70 2d 31 29 | 20 20 20 20 20 20 20 20 |sweep-1)| |
|00000940| 20 20 20 20 3b 20 42 75 | 6c 6c 65 74 20 73 74 61 | ; Bu|llet sta|
|00000950| 72 74 20 79 20 6f 66 66 | 73 65 74 00 80 04 20 62 |rt y off|set... b|
|00000960| 76 78 28 23 61 6e 67 6c | 65 73 77 65 65 70 2d 31 |vx(#angl|esweep-1|
|00000970| 29 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 42 75 |) | ; Bu|
|00000980| 6c 6c 65 74 20 58 20 56 | 65 6c 6f 63 69 74 79 00 |llet X V|elocity.|
|00000990| 80 04 20 62 76 79 28 23 | 61 6e 67 6c 65 73 77 65 |.. bvy(#|angleswe|
|000009a0| 65 70 2d 31 29 20 20 20 | 20 20 20 20 20 20 20 20 |ep-1) | |
|000009b0| 3b 20 62 75 6c 6c 65 74 | 20 59 20 56 65 6c 6f 63 |; bullet| Y Veloc|
|000009c0| 69 74 79 00 80 16 20 6c | 2e 6c 3d 30 20 80 18 20 |ity... l|.l=0 .. |
|000009d0| 23 61 6e 67 6c 65 73 77 | 65 65 70 2d 31 20 20 20 |#anglesw|eep-1 |
|000009e0| 20 20 20 20 3b 20 4d 61 | 6b 65 20 54 68 65 20 53 | ; Ma|ke The S|
|000009f0| 68 69 70 20 61 6e 64 20 | 66 69 6c 6c 20 74 68 6f |hip and |fill tho|
|00000a00| 73 65 20 63 6f 6c 6c 69 | 73 69 6f 6e 00 20 20 20 |se colli|sion. |
|00000a10| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00000a20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00000a30| 65 74 63 20 61 72 72 61 | 79 73 00 20 20 62 78 28 |etc arra|ys. bx(|
|00000a40| 6c 29 3d e0 05 28 28 6c | 2b 23 68 61 6c 66 29 2a |l)=..((l|+#half)*|
|00000a50| 64 65 67 72 61 64 29 2a | 31 30 2b 37 00 20 20 62 |degrad)*|10+7. b|
|00000a60| 79 28 6c 29 3d e0 0a 28 | 28 6c 2b 23 68 61 6c 66 |y(l)=..(|(l+#half|
|00000a70| 29 2a 64 65 67 72 61 64 | 29 2a 31 30 2b 37 00 20 |)*degrad|)*10+7. |
|00000a80| 20 62 76 78 28 6c 29 3d | e0 05 28 28 6c 2b 23 68 | bvx(l)=|..((l+#h|
|00000a90| 61 6c 66 29 2a 64 65 67 | 72 61 64 29 2a 34 2e 35 |alf)*deg|rad)*4.5|
|00000aa0| 00 20 20 62 76 79 28 6c | 29 3d e0 0a 28 28 6c 2b |. bvy(l|)=..((l+|
|00000ab0| 23 68 61 6c 66 29 2a 64 | 65 67 72 61 64 29 2a 34 |#half)*d|egrad)*4|
|00000ac0| 2e 35 00 20 20 78 31 2e | 71 3d e0 05 28 28 6c 2b |.5. x1.|q=..((l+|
|00000ad0| 23 68 61 6c 66 29 2a 64 | 65 67 72 61 64 29 2a 37 |#half)*d|egrad)*7|
|00000ae0| 2b 37 00 20 20 79 31 2e | 71 3d e0 0a 28 28 6c 2b |+7. y1.|q=..((l+|
|00000af0| 23 68 61 6c 66 29 2a 64 | 65 67 72 61 64 29 2a 37 |#half)*d|egrad)*7|
|00000b00| 2b 37 00 20 20 78 32 2e | 71 3d e0 05 28 28 6c 2d |+7. x2.|q=..((l-|
|00000b10| 23 71 75 61 72 71 75 61 | 72 29 2a 64 65 67 72 61 |#quarqua|r)*degra|
|00000b20| 64 29 2a 35 2b 37 00 20 | 20 79 32 2e 71 3d e0 0a |d)*5+7. | y2.q=..|
|00000b30| 28 28 6c 2d 23 71 75 61 | 72 71 75 61 72 29 2a 64 |((l-#qua|rquar)*d|
|00000b40| 65 67 72 61 64 29 2a 35 | 2b 37 00 20 20 78 33 2e |egrad)*5|+7. x3.|
|00000b50| 71 3d e0 05 28 28 6c 2b | 23 71 75 61 72 71 75 61 |q=..((l+|#quarqua|
|00000b60| 72 29 2a 64 65 67 72 61 | 64 29 2a 35 2b 37 00 20 |r)*degra|d)*5+7. |
|00000b70| 20 79 33 2e 71 3d e0 0a | 28 28 6c 2b 23 71 75 61 | y3.q=..|((l+#qua|
|00000b80| 72 71 75 61 72 29 2a 64 | 65 67 72 61 64 29 2a 35 |rquar)*d|egrad)*5|
|00000b90| 2b 37 00 20 20 73 63 78 | 28 6c 2c 30 29 3d 78 31 |+7. scx|(l,0)=x1|
|00000ba0| 00 20 20 73 63 79 28 6c | 2c 30 29 3d 79 31 00 20 |. scy(l|,0)=y1. |
|00000bb0| 20 73 63 78 28 6c 2c 31 | 29 3d 78 32 00 20 20 73 | scx(l,1|)=x2. s|
|00000bc0| 63 79 28 6c 2c 31 29 3d | 79 32 00 20 20 73 63 78 |cy(l,1)=|y2. scx|
|00000bd0| 28 6c 2c 32 29 3d 78 33 | 00 20 20 73 63 79 28 6c |(l,2)=x3|. scy(l|
|00000be0| 2c 32 29 3d 79 33 00 20 | 20 88 3a 20 32 35 35 00 |,2)=y3. | .: 255.|
|00000bf0| 20 20 88 36 20 78 31 2c | 79 31 2c 78 32 2c 79 32 | .6 x1,|y1,x2,y2|
|00000c00| 00 20 20 88 36 20 78 33 | 2c 79 33 00 20 20 88 36 |. .6 x3|,y3. .6|
|00000c10| 20 78 31 2c 79 31 00 20 | 20 87 cb 20 6c 2b 33 2c | x1,y1. | .. l+3,|
|00000c20| 30 2c 30 2c 31 36 2c 31 | 36 00 20 20 88 26 20 30 |0,0,16,1|6. .& 0|
|00000c30| 2c 30 2c 31 35 2c 31 35 | 2c 30 00 80 17 20 6c 00 |,0,15,15|,0... l.|
|00000c40| d0 01 20 32 2c 32 30 30 | 2c 31 36 30 2c 32 20 20 |.. 2,200|,160,2 |
|00000c50| 20 20 20 20 20 20 3b 20 | 49 6e 69 74 69 61 6c 69 | ; |Initiali|
|00000c60| 7a 65 20 6f 75 72 20 6d | 61 70 73 20 62 69 74 6d |ze our m|aps bitm|
|00000c70| 61 70 00 d0 02 20 32 2c | 6d 61 70 24 20 20 20 20 |ap... 2,|map$ |
|00000c80| 20 20 20 20 20 3b 20 57 | 65 20 6e 65 65 64 20 32 | ; W|e need 2|
|00000c90| 20 70 6c 61 6e 65 20 6f | 6e 65 00 80 2c 20 d0 01 | plane o|ne.., ..|
|00000ca0| 20 32 00 80 16 20 6c 2e | 6c 3d 30 20 80 18 20 73 | 2... l.|l=0 .. s|
|00000cb0| 6c 6f 74 2a 32 30 2d 31 | 00 20 20 80 16 20 74 2e |lot*20-1|. .. t.|
|00000cc0| 6c 3d 30 20 80 18 20 73 | 6c 6f 74 2a 31 36 2d 31 |l=0 .. s|lot*16-1|
|00000cd0| 00 20 20 20 20 6c 6c 2e | 6c 3d 6c 20 80 7c 20 34 |. ll.|l=l .| 4|
|00000ce0| 00 20 20 20 20 74 74 2e | 6c 3d 74 20 80 7c 20 34 |. tt.|l=t .| 4|
|00000cf0| 00 20 20 20 20 73 2e 77 | 3d b2 04 28 6c 2c 74 29 |. s.w|=..(l,t)|
|00000d00| 00 20 20 20 20 80 0b 20 | 73 3e 30 00 20 20 20 20 |. .. |s>0. |
|00000d10| 20 20 88 05 20 73 2c 6c | 6c 2c 74 74 20 20 20 20 | .. s,l|l,tt |
|00000d20| 20 20 20 20 20 3b 20 57 | 65 20 62 75 69 6c 64 20 | ; W|e build |
|00000d30| 75 70 20 74 68 65 20 73 | 63 65 6e 65 00 20 20 20 |up the s|cene. |
|00000d40| 20 80 22 00 20 20 20 20 | 20 20 88 26 20 6c 6c 2c | .". | .& ll,|
|00000d50| 74 74 2c 6c 6c 2b 31 35 | 2c 74 74 2b 31 35 2c 30 |tt,ll+15|,tt+15,0|
|00000d60| 20 20 3b 20 54 68 65 73 | 65 20 61 72 65 20 74 68 | ; Thes|e are th|
|00000d70| 65 20 46 4c 59 20 5a 4f | 4e 45 20 3b 29 00 20 20 |e FLY ZO|NE ;). |
|00000d80| 20 20 80 c0 00 20 20 80 | 17 20 74 00 80 17 20 6c | ... .|. t... l|
|00000d90| 00 00 3b 20 53 65 74 75 | 70 20 73 74 72 75 63 74 |..; Setu|p struct|
|00000da0| 75 72 65 73 20 66 6f 72 | 20 63 32 70 20 63 6f 6e |ures for| c2p con|
|00000db0| 76 65 72 73 69 6f 6e 73 | 2e 00 87 87 20 30 2c 23 |versions|.... 0,#|
|00000dc0| 76 77 69 64 74 68 2c 23 | 76 68 65 69 67 68 74 2c |vwidth,#|vheight,|
|00000dd0| 64 77 69 64 74 68 2c 23 | 62 6d 77 69 64 74 68 2c |dwidth,#|bmwidth,|
|00000de0| 23 62 6d 68 65 69 67 68 | 74 00 87 9f 20 30 20 3b |#bmheigh|t... 0 ;|
|00000df0| 20 57 65 20 75 73 65 20 | 74 68 69 73 20 6e 65 77 | We use |this new|
|00000e00| 6c 79 20 63 72 65 61 74 | 65 64 20 63 32 70 20 77 |ly creat|ed c2p w|
|00000e10| 69 6e 64 6f 77 00 00 80 | 04 20 62 6d 2e 6c 28 31 |indow...|. bm.l(1|
|00000e20| 29 20 3b 20 57 65 20 75 | 73 65 20 74 77 6f 20 62 |) ; We u|se two b|
|00000e30| 69 74 6d 61 70 73 20 66 | 6f 72 20 64 6f 75 62 6c |itmaps f|or doubl|
|00000e40| 65 20 62 75 66 66 65 72 | 69 6e 67 00 00 80 16 20 |e buffer|ing.... |
|00000e50| 6c 3d 30 20 80 18 20 31 | 00 20 20 3b 20 47 65 74 |l=0 .. 1|. ; Get|
|00000e60| 20 73 6f 6d 65 20 66 72 | 65 65 20 43 48 49 50 20 | some fr|ee CHIP |
|00000e70| 6d 65 6d 6f 72 79 00 20 | 20 62 6d 28 6c 29 3d a6 |memory. | bm(l)=.|
|00000e80| 08 28 23 62 6d 77 69 64 | 74 68 2a 23 62 6d 68 65 |.(#bmwid|th*#bmhe|
|00000e90| 69 67 68 74 2c 23 4d 45 | 4d 46 5f 43 48 49 50 29 |ight,#ME|MF_CHIP)|
|00000ea0| 00 20 20 80 0b 20 62 6d | 28 6c 29 20 20 20 3b 20 |. .. bm|(l) ; |
|00000eb0| 61 6e 64 20 69 66 20 77 | 65 20 73 75 63 63 65 65 |and if w|e succee|
|00000ec0| 64 00 20 20 20 20 3b 20 | 6d 61 6b 65 20 69 74 20 |d. ; |make it |
|00000ed0| 61 20 70 6c 61 6e 61 72 | 20 62 69 74 6d 61 70 2e |a planar| bitmap.|
|00000ee0| 00 20 20 20 20 d0 07 20 | 6c 2c 23 62 6d 77 69 64 |. .. |l,#bmwid|
|00000ef0| 74 68 2c 23 62 6d 68 65 | 69 67 68 74 2c 38 2c 62 |th,#bmhe|ight,8,b|
|00000f00| 6d 28 6c 29 00 20 20 80 | 22 00 20 20 20 20 80 02 |m(l). .|". ..|
|00000f10| 00 20 20 80 c0 00 80 17 | 20 6c 00 00 3b 20 57 65 |. .....| l..; We|
|00000f20| 20 6e 65 65 64 20 73 63 | 72 65 65 6e 20 74 6f 6f | need sc|reen too|
|00000f30| 20 3b 29 00 00 80 04 20 | 73 63 72 74 61 67 6c 73 | ;).... |scrtagls|
|00000f40| 74 2e 54 61 67 49 74 65 | 6d 28 37 29 20 20 20 20 |t.TagIte|m(7) |
|00000f50| 20 20 20 20 20 20 20 20 | 3b 20 41 6c 6c 20 74 68 | |; All th|
|00000f60| 69 73 20 73 74 75 66 66 | 20 73 65 74 73 20 75 70 |is stuff| sets up|
|00000f70| 20 6f 75 72 00 73 63 72 | 74 61 67 6c 73 74 28 30 | our.scr|taglst(0|
|00000f80| 29 5c 74 69 5f 54 61 67 | 20 3d 20 23 53 41 5f 4c |)\ti_Tag| = #SA_L|
|00000f90| 65 66 74 20 20 20 20 20 | 20 3b 20 54 61 67 6c 69 |eft | ; Tagli|
|00000fa0| 73 74 20 66 6f 72 20 74 | 68 65 20 73 63 72 65 65 |st for t|he scree|
|00000fb0| 6e 20 77 65 00 73 63 72 | 74 61 67 6c 73 74 28 30 |n we.scr|taglst(0|
|00000fc0| 29 5c 74 69 5f 44 61 74 | 61 20 3d 20 30 20 20 20 |)\ti_Dat|a = 0 |
|00000fd0| 20 20 20 20 20 20 20 20 | 20 3b 20 77 61 6e 74 2e | | ; want.|
|00000fe0| 00 73 63 72 74 61 67 6c | 73 74 28 31 29 5c 74 69 |.scrtagl|st(1)\ti|
|00000ff0| 5f 54 61 67 20 3d 20 23 | 53 41 5f 44 65 70 74 68 |_Tag = #|SA_Depth|
|00001000| 00 73 63 72 74 61 67 6c | 73 74 28 31 29 5c 74 69 |.scrtagl|st(1)\ti|
|00001010| 5f 44 61 74 61 20 3d 20 | 38 00 73 63 72 74 61 67 |_Data = |8.scrtag|
|00001020| 6c 73 74 28 32 29 5c 74 | 69 5f 54 61 67 20 3d 20 |lst(2)\t|i_Tag = |
|00001030| 23 53 41 5f 57 69 64 74 | 68 00 73 63 72 74 61 67 |#SA_Widt|h.scrtag|
|00001040| 6c 73 74 28 32 29 5c 74 | 69 5f 44 61 74 61 20 3d |lst(2)\t|i_Data =|
|00001050| 20 23 76 77 69 64 74 68 | 00 73 63 72 74 61 67 6c | #vwidth|.scrtagl|
|00001060| 73 74 28 33 29 5c 74 69 | 5f 54 61 67 20 3d 20 23 |st(3)\ti|_Tag = #|
|00001070| 53 41 5f 48 65 69 67 68 | 74 00 73 63 72 74 61 67 |SA_Heigh|t.scrtag|
|00001080| 6c 73 74 28 33 29 5c 74 | 69 5f 44 61 74 61 20 3d |lst(3)\t|i_Data =|
|00001090| 20 23 76 68 65 69 67 68 | 74 00 73 63 72 74 61 67 | #vheigh|t.scrtag|
|000010a0| 6c 73 74 28 34 29 5c 74 | 69 5f 54 61 67 20 3d 20 |lst(4)\t|i_Tag = |
|000010b0| 23 53 41 5f 42 69 74 4d | 61 70 00 73 63 72 74 61 |#SA_BitM|ap.scrta|
|000010c0| 67 6c 73 74 28 34 29 5c | 74 69 5f 44 61 74 61 20 |glst(4)\|ti_Data |
|000010d0| 3d 20 80 b8 20 d0 01 20 | 28 30 29 00 73 63 72 74 |= .. .. |(0).scrt|
|000010e0| 61 67 6c 73 74 28 35 29 | 5c 74 69 5f 54 61 67 20 |aglst(5)|\ti_Tag |
|000010f0| 3d 20 23 53 41 5f 53 68 | 6f 77 54 69 74 6c 65 00 |= #SA_Sh|owTitle.|
|00001100| 73 63 72 74 61 67 6c 73 | 74 28 35 29 5c 74 69 5f |scrtagls|t(5)\ti_|
|00001110| 44 61 74 61 20 3d 20 30 | 00 73 63 72 74 61 67 6c |Data = 0|.scrtagl|
|00001120| 73 74 28 36 29 5c 74 69 | 5f 54 61 67 20 3d 20 23 |st(6)\ti|_Tag = #|
|00001130| 53 41 5f 44 72 61 67 67 | 61 62 6c 65 00 73 63 72 |SA_Dragg|able.scr|
|00001140| 74 61 67 6c 73 74 28 36 | 29 5c 74 69 5f 44 61 74 |taglst(6|)\ti_Dat|
|00001150| 61 20 3d 20 30 00 73 63 | 72 74 61 67 6c 73 74 28 |a = 0.sc|rtaglst(|
|00001160| 37 29 5c 74 69 5f 54 61 | 67 20 3d 20 23 54 41 47 |7)\ti_Ta|g = #TAG|
|00001170| 5f 45 4e 44 20 20 20 20 | 20 20 3b 20 54 68 65 20 |_END | ; The |
|00001180| 6d 6f 73 74 20 69 6d 70 | 6f 72 74 61 6e 74 20 74 |most imp|ortant t|
|00001190| 61 67 20 6f 66 20 74 68 | 65 6d 20 61 6c 6c 2e 00 |ag of th|em all..|
|000011a0| 00 cf 0f 20 30 2c 22 4d | 69 6c 64 72 65 64 44 45 |... 0,"M|ildredDE|
|000011b0| 4d 4f 22 2c 26 73 63 72 | 74 61 67 6c 73 74 28 30 |MO",&scr|taglst(0|
|000011c0| 29 20 3b 20 4f 70 65 6e | 20 6f 75 72 20 69 6e 74 |) ; Open| our int|
|000011d0| 75 69 74 69 6f 6e 20 73 | 63 72 65 65 6e 2e 00 00 |uition s|creen...|
|000011e0| ce 17 20 30 2c 32 35 35 | 20 20 20 20 20 20 20 3b |.. 0,255| ;|
|000011f0| 20 49 6e 69 74 69 61 6c | 69 7a 65 20 47 72 61 79 | Initial|ize Gray|
|00001200| 53 63 61 6c 65 50 61 6c | 65 74 74 65 00 80 16 20 |ScalePal|ette... |
|00001210| 6c 2e 6c 3d 30 20 80 18 | 20 32 35 35 00 20 20 ce |l.l=0 ..| 255. .|
|00001220| 0e 20 30 2c 6c 2c 6c 2c | 6c 2c 6c 00 80 17 20 6c |. 0,l,l,|l,l... l|
|00001230| 00 00 ce 13 20 30 20 20 | 20 20 20 20 20 20 20 20 |.... 0 | |
|00001240| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 41 | | ; A|
|00001250| 74 74 61 63 68 20 6f 75 | 72 20 70 61 6c 65 74 74 |ttach ou|r palett|
|00001260| 65 20 74 6f 20 74 68 65 | 20 73 63 72 65 65 6e 2e |e to the| screen.|
|00001270| 00 00 80 04 20 74 68 72 | 75 73 74 78 2e 71 28 23 |.... thr|ustx.q(#|
|00001280| 61 6e 67 6c 65 73 77 65 | 65 70 2d 31 29 2c 74 68 |angleswe|ep-1),th|
|00001290| 72 75 73 74 79 2e 71 28 | 23 61 6e 67 6c 65 73 77 |rusty.q(|#anglesw|
|000012a0| 65 65 70 2d 31 29 00 3b | 20 54 68 65 73 65 20 61 |eep-1).;| These a|
|000012b0| 72 65 20 75 73 65 64 20 | 69 6e 20 61 63 63 65 6c |re used |in accel|
|000012c0| 65 72 61 74 69 6f 6e 00 | 3b 20 50 72 65 63 61 6c |eration.|; Precal|
|000012d0| 63 75 6c 61 74 65 64 20 | 74 61 62 6c 65 73 20 61 |culated |tables a|
|000012e0| 72 65 20 6d 75 63 68 20 | 66 61 73 74 65 72 20 74 |re much |faster t|
|000012f0| 68 61 6e 20 75 73 69 6e | 67 20 73 69 6e 65 20 61 |han usin|g sine a|
|00001300| 6e 64 20 63 6f 73 69 6e | 65 20 66 75 6e 63 74 69 |nd cosin|e functi|
|00001310| 6f 6e 73 00 80 16 20 74 | 2e 6c 3d 30 20 80 18 20 |ons... t|.l=0 .. |
|00001320| 23 61 6e 67 6c 65 73 77 | 65 65 70 2d 31 00 20 20 |#anglesw|eep-1. |
|00001330| 74 68 72 75 73 74 78 28 | 74 29 3d 2d e0 05 28 64 |thrustx(|t)=-..(d|
|00001340| 65 67 72 61 64 2a 74 29 | 2a 30 2e 30 30 30 32 37 |egrad*t)|*0.00027|
|00001350| 00 20 20 74 68 72 75 73 | 74 79 28 74 29 3d 2d e0 |. thrus|ty(t)=-.|
|00001360| 0a 28 64 65 67 72 61 64 | 2a 74 29 2a 30 2e 30 30 |.(degrad|*t)*0.00|
|00001370| 30 32 37 00 80 17 20 74 | 00 00 73 68 70 2e 73 68 |027... t|..shp.sh|
|00001380| 69 70 5c 78 3d 23 76 77 | 69 64 74 68 32 2c 23 76 |ip\x=#vw|idth2,#v|
|00001390| 68 65 69 67 68 74 32 20 | 20 20 3b 20 49 6e 69 74 |height2 | ; Init|
|000013a0| 20 73 74 61 72 74 20 70 | 6f 73 69 74 69 6f 6e 20 | start p|osition |
|000013b0| 6f 66 20 6f 75 72 20 73 | 68 69 70 00 73 68 70 2e |of our s|hip.shp.|
|000013c0| 73 68 69 70 5c 76 65 6c | 78 3d 30 2e 30 2c 30 2e |ship\vel|x=0.0,0.|
|000013d0| 30 00 61 6e 67 6c 65 2e | 77 3d 23 71 75 61 72 74 |0.angle.|w=#quart|
|000013e0| 65 72 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |er | |
|000013f0| 20 20 3b 20 61 6e 64 20 | 74 68 65 20 73 74 61 72 | ; and |the star|
|00001400| 74 20 61 6e 67 6c 65 00 | 00 78 2e 71 3d 30 20 20 |t angle.|.x.q=0 |
|00001410| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001420| 20 20 20 20 20 20 20 20 | 20 3b 20 54 65 6d 70 6f | | ; Tempo|
|00001430| 72 61 72 79 20 43 6f 6f | 72 64 69 6e 61 74 65 20 |rary Coo|rdinate |
|00001440| 76 61 72 69 61 62 6c 65 | 73 00 79 2e 71 3d 30 00 |variable|s.y.q=0.|
|00001450| 61 63 74 2e 77 3d 30 20 | 20 20 20 20 20 20 20 20 |act.w=0 | |
|00001460| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001470| 3b 20 61 63 74 69 76 65 | 20 62 69 74 6d 61 70 20 |; active| bitmap |
|00001480| 6e 75 6d 62 65 72 00 66 | 75 65 6c 2e 6c 3d 34 30 |number.f|uel.l=40|
|00001490| 30 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |00 | |
|000014a0| 20 20 20 20 20 20 20 3b | 20 41 6d 6f 75 6e 74 20 | ;| Amount |
|000014b0| 6f 66 20 66 75 65 6c 20 | 77 65 20 68 61 76 65 00 |of fuel |we have.|
|000014c0| 6d 61 73 73 2e 6c 3d 38 | 30 30 30 2d 66 75 65 6c |mass.l=8|000-fuel|
|000014d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000014e0| 3b 20 41 6e 64 20 6f 75 | 72 20 4d 61 73 73 20 69 |; And ou|r Mass i|
|000014f0| 73 20 68 65 72 65 20 28 | 69 74 20 69 73 20 72 65 |s here (|it is re|
|00001500| 76 65 72 73 65 29 00 20 | 20 20 20 20 20 20 20 20 |verse). | |
|00001510| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001520| 20 20 20 20 20 20 20 3b | 20 54 68 65 20 68 69 67 | ;| The hig|
|00001530| 68 65 72 20 69 74 20 69 | 73 20 74 68 65 20 66 61 |her it i|s the fa|
|00001540| 73 74 65 72 20 74 68 65 | 20 73 68 69 70 20 77 69 |ster the| ship wi|
|00001550| 6c 6c 20 6d 6f 76 65 00 | 00 87 cb 20 23 61 6e 67 |ll move.|... #ang|
|00001560| 6c 65 73 77 65 65 70 2b | 33 2c 78 2c 79 2c 31 36 |lesweep+|3,x,y,16|
|00001570| 2c 31 36 20 3b 20 73 61 | 76 65 20 62 61 63 6b 67 |,16 ; sa|ve backg|
|00001580| 72 6f 75 6e 64 20 6f 66 | 20 74 68 65 20 73 68 69 |round of| the shi|
|00001590| 70 00 00 80 04 20 62 70 | 6f 73 2e 70 6f 73 28 23 |p.... bp|os.pos(#|
|000015a0| 6e 75 6d 62 75 6c 2d 31 | 29 2c 62 76 65 6c 2e 76 |numbul-1|),bvel.v|
|000015b0| 65 6c 28 23 6e 75 6d 62 | 75 6c 2d 31 29 00 80 04 |el(#numb|ul-1)...|
|000015c0| 20 62 75 6c 2e 77 28 23 | 6e 75 6d 62 75 6c 2d 31 | bul.w(#|numbul-1|
|000015d0| 29 2c 62 67 2e 76 65 6c | 28 23 6e 75 6d 62 75 6c |),bg.vel|(#numbul|
|000015e0| 2d 31 29 00 3b 20 49 6e | 69 74 20 42 75 6c 6c 65 |-1).; In|it Bulle|
|000015f0| 74 20 76 61 72 69 61 62 | 6c 65 73 20 68 65 72 65 |t variab|les here|
|00001600| 00 80 16 20 6c 3d 30 20 | 80 18 20 23 6e 75 6d 62 |... l=0 |.. #numb|
|00001610| 75 6c 2d 31 00 20 20 62 | 70 6f 73 28 6c 29 5c 78 |ul-1. b|pos(l)\x|
|00001620| 3d 30 2c 30 00 20 20 62 | 76 65 6c 28 6c 29 5c 76 |=0,0. b|vel(l)\v|
|00001630| 78 3d 30 2c 30 00 20 20 | 62 75 6c 28 6c 29 3d 30 |x=0,0. |bul(l)=0|
|00001640| 00 20 20 62 67 28 6c 29 | 5c 76 78 3d 30 2c 30 2e |. bg(l)|\vx=0,0.|
|00001650| 30 34 35 00 80 17 20 6c | 00 00 88 55 20 2d 31 20 |045... l|...U -1 |
|00001660| 3b 20 44 61 74 61 20 69 | 73 20 69 6e 20 78 2e 71 |; Data i|s in x.q|
|00001670| 2c 79 2e 71 20 66 6f 72 | 6d 61 74 00 00 3b 20 4d |,y.q for|mat..; M|
|00001680| 61 69 6e 20 4c 6f 6f 70 | 20 73 74 61 72 74 73 20 |ain Loop| starts |
|00001690| 68 65 72 65 21 00 00 80 | bb 00 20 20 78 78 2e 6c |here!...|.. xx.l|
|000016a0| 3d a5 89 28 a5 8d 28 30 | 2c 73 68 70 5c 78 2d 23 |=..(..(0|,shp\x-#|
|000016b0| 76 77 69 64 74 68 32 29 | 2c 64 77 69 64 74 68 2d |vwidth2)|,dwidth-|
|000016c0| 23 76 77 69 64 74 68 29 | 20 20 20 20 3b 20 53 75 |#vwidth)| ; Su|
|000016d0| 70 65 72 20 42 69 74 6d | 61 70 20 58 20 70 6f 73 |per Bitm|ap X pos|
|000016e0| 69 74 69 6f 6e 00 20 20 | 79 79 2e 6c 3d a5 89 28 |ition. |yy.l=..(|
|000016f0| a5 8d 28 30 2c 73 68 70 | 5c 79 2d 23 76 68 65 69 |..(0,shp|\y-#vhei|
|00001700| 67 68 74 32 29 2c 64 68 | 65 69 67 68 74 2d 23 76 |ght2),dh|eight-#v|
|00001710| 68 65 69 67 68 74 29 20 | 3b 20 53 75 70 65 72 20 |height) |; Super |
|00001720| 42 69 74 6d 61 70 20 59 | 20 70 6f 73 69 74 69 6f |Bitmap Y| positio|
|00001730| 6e 00 00 20 20 87 8b 20 | 30 2c 88 19 28 78 78 2c |n.. .. |0,..(xx,|
|00001740| 79 79 2c 30 29 2c 62 6d | 28 61 63 74 29 20 20 20 |yy,0),bm|(act) |
|00001750| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 4d | | ; M|
|00001760| 61 6b 65 20 43 32 50 20 | 74 6f 20 74 68 65 20 62 |ake C2P |to the b|
|00001770| 69 74 6d 61 70 00 20 20 | 20 20 20 20 20 20 20 20 |itmap. | |
|00001780| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001790| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000017a0| 20 20 20 20 20 20 20 20 | 20 20 3b 20 46 6f 72 20 | | ; For |
|000017b0| 47 46 58 20 42 6f 61 72 | 64 20 76 65 72 73 69 6f |GFX Boar|d versio|
|000017c0| 6e 00 3b 20 74 68 69 73 | 20 68 61 76 65 20 74 6f |n.; this| have to|
|000017d0| 20 62 65 20 72 65 70 6c | 61 63 65 64 20 77 69 74 | be repl|aced wit|
|000017e0| 68 20 73 6f 6d 65 74 68 | 69 6e 67 20 6c 69 6b 65 |h someth|ing like|
|000017f0| 20 77 72 69 74 65 70 69 | 78 65 6c 61 72 72 61 79 | writepi|xelarray|
|00001800| 5f 00 20 20 ff 29 20 3b | 20 57 61 69 74 20 74 6f |_. .) ;| Wait to|
|00001810| 70 20 6f 66 20 66 72 61 | 6d 65 20 61 6e 64 2e 2e |p of fra|me and..|
|00001820| 2e 00 00 20 20 cf 0a 20 | 61 63 74 20 3b 20 73 68 |... .. |act ; sh|
|00001830| 6f 77 20 74 68 65 20 6e | 65 78 74 20 66 72 61 6d |ow the n|ext fram|
|00001840| 65 00 00 20 20 88 26 20 | 78 2c 79 2c 78 2b 31 35 |e.. .& |x,y,x+15|
|00001850| 2c 79 2b 31 35 2c 30 20 | 20 20 20 20 20 20 20 20 |,y+15,0 | |
|00001860| 3b 20 43 6c 65 61 72 20 | 74 68 65 20 73 68 69 70 |; Clear |the ship|
|00001870| 20 61 72 65 61 00 20 20 | 88 03 20 23 61 6e 67 6c | area. |.. #angl|
|00001880| 65 73 77 65 65 70 2b 33 | 2c 78 2c 79 20 20 20 20 |esweep+3|,x,y |
|00001890| 20 20 20 3b 20 41 6e 64 | 20 72 65 73 74 6f 72 65 | ; And| restore|
|000018a0| 20 62 61 63 6b 67 72 6f | 75 6e 64 00 20 20 61 63 | backgro|und. ac|
|000018b0| 74 3d 31 2d 61 63 74 20 | 20 20 20 20 20 20 20 20 |t=1-act | |
|000018c0| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 53 77 | | ; Sw|
|000018d0| 61 70 20 61 63 74 69 76 | 65 20 62 69 74 6d 61 70 |ap activ|e bitmap|
|000018e0| 00 20 20 63 61 6e 67 6c | 65 2e 77 3d 61 6e 67 6c |. cangl|e.w=angl|
|000018f0| 65 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |e | |
|00001900| 20 3b 20 43 6f 6c 6c 69 | 73 69 6f 6e 20 61 6e 67 | ; Colli|sion ang|
|00001910| 6c 65 20 28 69 66 20 63 | 6f 6c 6c 69 73 69 6f 6e |le (if c|ollision|
|00001920| 20 64 65 74 65 63 74 65 | 64 00 20 20 20 20 20 20 | detecte|d. |
|00001930| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001940| 20 20 20 20 20 20 20 20 | 20 20 3b 20 61 6e 67 6c | | ; angl|
|00001950| 65 3d 63 61 6e 67 6c 65 | 29 00 20 20 61 78 2e 77 |e=cangle|). ax.w|
|00001960| 3d df 01 28 31 29 20 20 | 20 20 20 20 20 20 20 20 |=..(1) | |
|00001970| 20 20 20 20 20 20 20 20 | 3b 20 72 65 61 64 20 4a | |; read J|
|00001980| 6f 79 00 20 20 61 6e 67 | 6c 65 3d 28 61 6e 67 6c |oy. ang|le=(angl|
|00001990| 65 2b 61 78 29 26 28 23 | 61 6e 67 6c 65 73 77 65 |e+ax)&(#|angleswe|
|000019a0| 65 70 2d 31 29 20 3b 20 | 61 6e 64 20 63 61 6c 63 |ep-1) ; |and calc|
|000019b0| 75 6c 61 74 65 20 6e 65 | 77 20 61 6e 67 6c 65 00 |ulate ne|w angle.|
|000019c0| 00 20 20 78 3d 73 68 70 | 5c 78 20 20 20 3b 20 49 |. x=shp|\x ; I|
|000019d0| 6e 69 74 20 54 65 6d 70 | 6f 72 61 72 79 20 63 6f |nit Temp|orary co|
|000019e0| 6f 72 64 69 6e 61 74 65 | 73 00 20 20 79 3d 73 68 |ordinate|s. y=sh|
|000019f0| 70 5c 79 00 00 20 20 80 | 0b 20 df 04 28 31 29 3d |p\y.. .|. ..(1)=|
|00001a00| 31 20 80 42 20 66 75 65 | 6c 3e 30 20 20 20 20 20 |1 .B fue|l>0 |
|00001a10| 20 20 20 20 20 20 20 20 | 20 20 3b 20 41 72 65 20 | | ; Are |
|00001a20| 77 65 20 74 68 72 75 73 | 74 69 6e 67 20 61 6e 64 |we thrus|ting and|
|00001a30| 20 64 6f 20 77 65 20 68 | 61 76 65 20 66 75 65 6c | do we h|ave fuel|
|00001a40| 3f 00 20 20 20 20 66 75 | 65 6c 2d 31 20 20 20 20 |?. fu|el-1 |
|00001a50| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a60| 20 20 20 20 20 20 20 20 | 20 20 3b 20 53 75 62 20 | | ; Sub |
|00001a70| 66 75 65 6c 00 20 20 20 | 20 6d 61 73 73 2b 31 20 |fuel. | mass+1 |
|00001a80| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001a90| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00001aa0| 6e 64 20 61 64 64 20 6d | 61 73 73 20 2d 3e 20 77 |nd add m|ass -> w|
|00001ab0| 69 6c 6c 20 74 68 72 75 | 73 74 20 6d 6f 72 65 00 |ill thru|st more.|
|00001ac0| 20 20 20 20 61 63 63 78 | 2e 71 3d 28 74 68 72 75 | accx|.q=(thru|
|00001ad0| 73 74 78 28 61 6e 67 6c | 65 29 2a 6d 61 73 73 29 |stx(angl|e)*mass)|
|00001ae0| 20 20 20 20 20 20 20 20 | 3b 20 58 20 41 63 63 65 | |; X Acce|
|00001af0| 6c 65 72 61 74 69 6f 6e | 00 20 20 20 20 61 63 63 |leration|. acc|
|00001b00| 79 2e 71 3d 28 74 68 72 | 75 73 74 79 28 61 6e 67 |y.q=(thr|usty(ang|
|00001b10| 6c 65 29 2a 6d 61 73 73 | 29 2b 30 2e 33 35 20 20 |le)*mass|)+0.35 |
|00001b20| 20 3b 20 59 20 41 63 63 | 65 6c 65 72 61 74 69 6f | ; Y Acc|eleratio|
|00001b30| 6e 00 20 20 20 20 73 68 | 70 5c 76 65 6c 78 2b 61 |n. sh|p\velx+a|
|00001b40| 63 63 78 2d 28 73 68 70 | 5c 76 65 6c 78 2a 30 2e |ccx-(shp|\velx*0.|
|00001b50| 30 32 29 20 20 20 20 20 | 20 20 3b 20 58 20 56 65 |02) | ; X Ve|
|00001b60| 6c 6f 63 69 74 79 00 20 | 20 20 20 73 68 70 5c 76 |locity. | shp\v|
|00001b70| 65 6c 79 2b 61 63 63 79 | 2d 28 73 68 70 5c 76 65 |ely+accy|-(shp\ve|
|00001b80| 6c 79 2a 30 2e 30 32 29 | 20 20 20 20 20 20 20 3b |ly*0.02)| ;|
|00001b90| 20 59 20 56 65 6c 6f 63 | 69 74 79 00 20 20 80 22 | Y Veloc|ity. ."|
|00001ba0| 00 20 20 20 20 73 68 70 | 5c 76 65 6c 78 2d 28 73 |. shp|\velx-(s|
|00001bb0| 68 70 5c 76 65 6c 78 2a | 30 2e 30 32 29 20 20 20 |hp\velx*|0.02) |
|00001bc0| 20 20 20 20 20 20 20 20 | 20 3b 20 58 20 56 65 6c | | ; X Vel|
|00001bd0| 6f 63 69 74 79 00 20 20 | 20 20 73 68 70 5c 76 65 |ocity. | shp\ve|
|00001be0| 6c 79 2b 28 30 2e 33 35 | 2d 28 73 68 70 5c 76 65 |ly+(0.35|-(shp\ve|
|00001bf0| 6c 79 2a 30 2e 30 32 29 | 29 20 20 20 20 20 3b 20 |ly*0.02)|) ; |
|00001c00| 59 20 56 65 6c 6f 63 69 | 74 79 00 20 20 80 c0 00 |Y Veloci|ty. ...|
|00001c10| 20 20 78 2b 73 68 70 5c | 76 65 6c 78 20 20 20 20 | x+shp\|velx |
|00001c20| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00001c30| 20 20 20 20 20 20 20 20 | 3b 20 41 64 64 20 56 65 | |; Add Ve|
|00001c40| 6c 6f 63 69 74 79 20 74 | 6f 20 54 65 6d 70 20 43 |locity t|o Temp C|
|00001c50| 6f 6f 72 64 69 6e 61 74 | 65 73 00 20 20 79 2b 73 |oordinat|es. y+s|
|00001c60| 68 70 5c 76 65 6c 79 00 | 00 20 20 73 78 31 2e 77 |hp\vely.|. sx1.w|
|00001c70| 3d 78 2b 73 63 78 28 61 | 6e 67 6c 65 2c 30 29 20 |=x+scx(a|ngle,0) |
|00001c80| 20 3b 20 43 6f 6c 6c 69 | 73 69 6f 6e 20 63 6f 6f | ; Colli|sion coo|
|00001c90| 72 64 69 6e 61 74 65 73 | 00 20 20 73 79 31 2e 77 |rdinates|. sy1.w|
|00001ca0| 3d 79 2b 73 63 79 28 61 | 6e 67 6c 65 2c 30 29 00 |=y+scy(a|ngle,0).|
|00001cb0| 20 20 73 78 32 2e 77 3d | 78 2b 73 63 78 28 61 6e | sx2.w=|x+scx(an|
|00001cc0| 67 6c 65 2c 31 29 00 20 | 20 73 79 32 2e 77 3d 79 |gle,1). | sy2.w=y|
|00001cd0| 2b 73 63 79 28 61 6e 67 | 6c 65 2c 31 29 00 20 20 |+scy(ang|le,1). |
|00001ce0| 73 78 33 2e 77 3d 78 2b | 73 63 78 28 61 6e 67 6c |sx3.w=x+|scx(angl|
|00001cf0| 65 2c 32 29 00 20 20 73 | 79 33 2e 77 3d 79 2b 73 |e,2). s|y3.w=y+s|
|00001d00| 63 79 28 61 6e 67 6c 65 | 2c 32 29 00 00 20 20 6d |cy(angle|,2).. m|
|00001d10| 70 31 2e 77 3d 87 ee 28 | 73 78 31 2c 73 79 31 29 |p1.w=..(|sx1,sy1)|
|00001d20| 26 24 66 66 20 20 20 20 | 20 3b 20 52 65 61 64 20 |&$ff | ; Read |
|00001d30| 43 6f 6c 6c 69 73 69 6f | 6e 20 70 6f 69 6e 74 20 |Collisio|n point |
|00001d40| 63 6f 6c 6f 75 72 73 00 | 20 20 6d 70 32 2e 77 3d |colours.| mp2.w=|
|00001d50| 87 ee 28 73 78 32 2c 73 | 79 32 29 26 24 66 66 00 |..(sx2,s|y2)&$ff.|
|00001d60| 20 20 6d 70 33 2e 77 3d | 87 ee 28 73 78 33 2c 73 | mp3.w=|..(sx3,s|
|00001d70| 79 33 29 26 24 66 66 00 | 20 20 73 63 6f 6c 2e 77 |y3)&$ff.| scol.w|
|00001d80| 3d 30 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |=0 | |
|00001d90| 20 20 20 20 20 20 20 20 | 3b 20 43 6f 6c 6c 69 73 | |; Collis|
|00001da0| 69 6f 6e 73 20 68 61 70 | 65 6e 65 64 00 20 20 73 |ions hap|ened. s|
|00001db0| 6c 6e 64 2e 77 3d 30 20 | 20 20 20 20 20 20 20 20 |lnd.w=0 | |
|00001dc0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 4c | | ; L|
|00001dd0| 61 6e 64 69 6e 67 20 70 | 6f 69 6e 74 73 20 74 72 |anding p|oints tr|
|00001de0| 75 65 00 00 20 20 80 0b | 20 6d 70 31 3e 30 20 20 |ue.. ..| mp1>0 |
|00001df0| 20 20 20 20 3b 20 49 66 | 20 74 68 65 20 66 69 72 | ; If| the fir|
|00001e00| 73 74 20 63 6f 6c 6c 69 | 73 69 6f 6e 20 70 6f 69 |st colli|sion poi|
|00001e10| 6e 74 20 69 73 20 6c 61 | 72 67 65 72 20 74 68 61 |nt is la|rger tha|
|00001e20| 6e 20 30 20 74 68 65 6e | 00 20 20 20 20 73 63 6f |n 0 then|. sco|
|00001e30| 6c 2b 31 20 20 20 20 20 | 20 3b 20 63 6f 6c 6c 69 |l+1 | ; colli|
|00001e40| 73 69 6f 6e 20 74 72 75 | 65 20 66 6f 72 20 74 68 |sion tru|e for th|
|00001e50| 69 73 20 70 6f 69 6e 74 | 00 20 20 80 c0 00 20 20 |is point|. ... |
|00001e60| 80 0b 20 6d 70 32 3e 30 | 20 20 20 20 20 20 3b 20 |.. mp2>0| ; |
|00001e70| 49 66 20 73 65 63 6f 6e | 64 20 70 6f 69 6e 74 20 |If secon|d point |
|00001e80| 69 73 20 6c 61 72 67 65 | 72 20 74 68 61 6e 20 30 |is large|r than 0|
|00001e90| 20 77 65 20 63 68 65 63 | 6b 00 20 20 20 20 80 0b | we chec|k. ..|
|00001ea0| 20 6d 70 32 3d 32 35 35 | 20 20 3b 20 69 66 20 74 | mp2=255| ; if t|
|00001eb0| 68 65 20 63 6f 6c 6f 75 | 72 20 69 73 20 32 35 35 |he colou|r is 255|
|00001ec0| 00 20 20 20 20 20 20 73 | 6c 6e 64 2b 31 20 20 20 |. s|lnd+1 |
|00001ed0| 20 3b 20 69 74 20 69 73 | 20 73 6f 20 4c 61 6e 64 | ; it is| so Land|
|00001ee0| 69 6e 67 20 69 6e 20 70 | 6f 69 6e 74 20 31 20 69 |ing in p|oint 1 i|
|00001ef0| 73 20 74 72 75 65 00 20 | 20 20 20 80 c0 00 20 20 |s true. | ... |
|00001f00| 20 20 73 63 6f 6c 2b 32 | 20 20 20 20 20 20 3b 20 | scol+2| ; |
|00001f10| 61 6e 64 20 63 6f 6c 6c | 69 73 69 6f 6e 20 69 73 |and coll|ision is|
|00001f20| 20 61 6c 73 6f 20 74 72 | 75 65 00 20 20 80 c0 00 | also tr|ue. ...|
|00001f30| 20 20 80 0b 20 6d 70 33 | 3e 30 20 20 20 20 20 20 | .. mp3|>0 |
|00001f40| 3b 20 49 66 20 74 68 69 | 72 64 20 70 6f 69 6e 74 |; If thi|rd point|
|00001f50| 20 69 73 20 6c 61 72 67 | 65 72 20 74 68 61 6e 20 | is larg|er than |
|00001f60| 30 20 77 65 20 63 68 65 | 63 6b 00 20 20 20 20 80 |0 we che|ck. .|
|00001f70| 0b 20 6d 70 33 3d 32 35 | 35 20 20 3b 20 69 66 20 |. mp3=25|5 ; if |
|00001f80| 74 68 65 20 63 6f 6c 6f | 75 72 20 69 73 20 32 35 |the colo|ur is 25|
|00001f90| 35 00 20 20 20 20 20 20 | 73 6c 6e 64 2b 32 20 20 |5. |slnd+2 |
|00001fa0| 20 20 3b 20 69 74 20 69 | 73 20 73 6f 20 4c 61 6e | ; it i|s so Lan|
|00001fb0| 64 69 6e 67 20 69 6e 20 | 70 6f 69 6e 74 20 31 20 |ding in |point 1 |
|00001fc0| 69 73 20 74 72 75 65 00 | 20 20 20 20 80 c0 00 20 |is true.| ... |
|00001fd0| 20 20 20 73 63 6f 6c 2b | 34 20 20 20 20 20 20 3b | scol+|4 ;|
|00001fe0| 20 61 6e 64 20 63 6f 6c | 6c 69 73 69 6f 6e 20 69 | and col|lision i|
|00001ff0| 73 20 61 6c 73 6f 20 74 | 72 75 65 00 20 20 80 c0 |s also t|rue. ..|
|00002000| 00 00 20 20 80 0b 20 73 | 6c 6e 64 3d 33 20 80 42 |.. .. s|lnd=3 .B|
|00002010| 20 73 79 32 3d 73 79 33 | 20 20 20 20 20 20 20 20 | sy2=sy3| |
|00002020| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002030| 20 3b 20 49 66 20 62 6f | 74 68 20 6c 61 6e 64 69 | ; If bo|th landi|
|00002040| 6e 67 20 70 6f 69 6e 74 | 73 20 61 72 65 20 74 72 |ng point|s are tr|
|00002050| 75 65 20 77 65 20 64 6f | 20 6c 61 6e 64 69 6e 67 |ue we do| landing|
|00002060| 00 20 20 20 20 80 0b 20 | 73 68 70 5c 76 65 6c 79 |. .. |shp\vely|
|00002070| 3c 30 2e 33 36 20 80 42 | 20 73 68 70 5c 76 65 6c |<0.36 .B| shp\vel|
|00002080| 79 3e 30 00 20 20 20 20 | 20 20 73 68 70 5c 76 65 |y>0. | shp\ve|
|00002090| 6c 79 3d 30 20 3a 20 79 | 3d 73 68 70 5c 79 20 3a |ly=0 : y|=shp\y :|
|000020a0| 20 73 68 70 5c 76 65 6c | 78 3d 30 00 20 20 20 20 | shp\vel|x=0. |
|000020b0| 80 22 00 20 20 20 20 20 | 20 73 68 70 5c 76 65 6c |.". | shp\vel|
|000020c0| 79 3d 73 68 70 5c 76 65 | 6c 79 2a 28 30 2e 38 35 |y=shp\ve|ly*(0.85|
|000020d0| 2a bc 03 28 2d 73 68 70 | 5c 76 65 6c 79 29 29 00 |*..(-shp|\vely)).|
|000020e0| 20 20 20 20 20 20 73 68 | 70 5c 76 65 6c 78 3d 73 | sh|p\velx=s|
|000020f0| 68 70 5c 76 65 6c 78 2a | 30 2e 38 35 00 20 20 20 |hp\velx*|0.85. |
|00002100| 20 80 c0 00 20 20 20 20 | 73 63 6f 6c 2d 36 20 20 | ... |scol-6 |
|00002110| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002120| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002130| 20 20 20 20 3b 20 41 6e | 64 20 74 68 65 73 65 20 | ; An|d these |
|00002140| 70 6f 69 6e 74 73 20 63 | 61 6e 27 74 20 63 6f 6c |points c|an't col|
|00002150| 6c 69 64 65 20 61 6e 79 | 20 6d 6f 72 65 00 20 20 |lide any| more. |
|00002160| 80 c0 00 00 20 20 80 0b | 20 73 63 6f 6c 3e 30 20 |.... ..| scol>0 |
|00002170| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002180| 20 20 20 20 20 20 20 20 | 20 20 20 20 3b 20 49 73 | | ; Is|
|00002190| 20 61 6e 79 20 63 6f 6c | 6c 69 73 69 6f 6e 73 3f | any col|lisions?|
|000021a0| 00 20 20 20 20 80 0b 20 | 73 63 6f 6c 3d 37 20 80 |. .. |scol=7 .|
|000021b0| 21 20 64 65 61 74 68 3d | 23 42 4f 4f 4c 5f 54 52 |! death=|#BOOL_TR|
|000021c0| 55 45 20 20 20 20 20 3b | 20 49 66 20 61 6c 6c 20 |UE ;| If all |
|000021d0| 70 6f 69 6e 74 73 20 63 | 6f 6c 6c 69 64 65 20 77 |points c|ollide w|
|000021e0| 65 20 61 72 65 20 44 45 | 41 44 21 21 21 00 20 20 |e are DE|AD!!!. |
|000021f0| 20 20 73 68 70 5c 76 65 | 6c 78 3d 2d 73 68 70 5c | shp\ve|lx=-shp\|
|00002200| 76 65 6c 78 2a 30 2e 33 | 20 20 20 20 20 20 20 20 |velx*0.3| |
|00002210| 20 20 20 20 20 20 3b 20 | 45 6c 73 65 20 4f 75 72 | ; |Else Our|
|00002220| 20 76 65 6c 6f 63 69 74 | 79 20 77 69 6c 6c 20 64 | velocit|y will d|
|00002230| 72 6f 70 20 61 6e 64 20 | 72 65 76 65 72 73 65 00 |rop and |reverse.|
|00002240| 20 20 20 20 73 68 70 5c | 76 65 6c 79 3d 2d 73 68 | shp\|vely=-sh|
|00002250| 70 5c 76 65 6c 79 2a 30 | 2e 33 20 20 20 20 20 20 |p\vely*0|.3 |
|00002260| 20 20 20 20 20 20 20 20 | 3b 20 69 65 20 77 65 20 | |; ie we |
|00002270| 62 6f 75 6e 63 65 00 20 | 20 20 20 78 3d 73 68 70 |bounce. | x=shp|
|00002280| 5c 78 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |\x | |
|00002290| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 3b | | ;|
|000022a0| 20 61 6e 64 20 6f 75 72 | 20 70 6f 73 69 74 69 6f | and our| positio|
|000022b0| 6e 20 69 73 20 6e 6f 74 | 20 63 6f 69 6e 67 20 74 |n is not| coing t|
|000022c0| 6f 20 63 68 61 6e 67 65 | 00 20 20 20 20 79 3d 73 |o change|. y=s|
|000022d0| 68 70 5c 79 00 20 20 20 | 20 61 6e 67 6c 65 3d 63 |hp\y. | angle=c|
|000022e0| 61 6e 67 6c 65 20 20 20 | 20 20 20 20 20 20 20 20 |angle | |
|000022f0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 3b 20 61 | | ; a|
|00002300| 6e 64 20 61 6e 67 6c 65 | 20 69 73 20 72 65 73 74 |nd angle| is rest|
|00002310| 6f 72 65 64 00 20 20 80 | c0 00 00 20 20 73 68 70 |ored. .|... shp|
|00002320| 5c 78 3d 78 20 20 20 20 | 20 20 20 20 20 20 20 20 |\x=x | |
|00002330| 20 20 20 3b 20 50 75 74 | 20 74 65 6d 70 20 70 6f | ; Put| temp po|
|00002340| 73 69 74 69 6f 6e 20 74 | 6f 20 73 68 69 70 00 20 |sition t|o ship. |
|00002350| 20 73 68 70 5c 79 3d 79 | 00 00 20 20 80 16 20 6c | shp\y=y|.. .. l|
|00002360| 3d 30 20 80 18 20 23 6e | 75 6d 62 75 6c 2d 31 20 |=0 .. #n|umbul-1 |
|00002370| 20 3b 20 57 69 70 65 20 | 6f 66 66 20 61 6c 6c 20 | ; Wipe |off all |
|00002380| 62 75 6c 6c 65 74 73 20 | 77 68 69 63 68 20 61 72 |bullets |which ar|
|00002390| 65 00 20 20 20 20 80 0b | 20 62 75 6c 28 6c 29 3e |e. ..| bul(l)>|
|000023a0| 30 20 20 20 20 20 20 20 | 20 20 3b 20 63 75 72 72 |0 | ; curr|
|000023b0| 65 6e 74 6c 79 20 77 69 | 73 69 62 6c 65 00 20 20 |ently wi|sible. |
|000023c0| 20 20 20 20 62 75 6c 28 | 6c 29 2d 31 20 20 20 20 | bul(|l)-1 |
|000023d0| 20 20 20 20 20 20 3b 20 | 61 6e 64 20 73 75 62 20 | ; |and sub |
|000023e0| 69 74 27 73 20 6c 69 66 | 65 00 20 20 20 20 20 20 |it's lif|e. |
|000023f0| 87 ea 20 62 70 6f 73 28 | 6c 29 5c 78 2c 62 70 6f |.. bpos(|l)\x,bpo|
|00002400| 73 28 6c 29 5c 79 2c 30 | 20 20 20 20 20 20 20 3b |s(l)\y,0| ;|
|00002410| 20 61 6e 64 20 72 65 73 | 74 6f 72 65 20 62 61 63 | and res|tore bac|
|00002420| 6b 67 72 6f 75 6e 64 20 | 63 6f 6c 6f 75 72 20 30 |kground |colour 0|
|00002430| 00 20 20 20 20 80 c0 00 | 20 20 80 17 20 6c 00 00 |. ...| .. l..|
|00002440| 20 20 80 0b 20 73 68 6f | 6f 74 64 65 6c 61 79 2e | .. sho|otdelay.|
|00002450| 77 3e 30 20 80 21 20 73 | 68 6f 6f 74 64 65 6c 61 |w>0 .! s|hootdela|
|00002460| 79 2d 31 20 20 20 3b 20 | 49 66 20 77 65 20 68 61 |y-1 ; |If we ha|
|00002470| 76 65 20 73 68 6f 74 20 | 74 68 65 6e 20 77 65 20 |ve shot |then we |
|00002480| 68 61 76 65 20 74 6f 20 | 77 61 69 74 20 61 20 6c |have to |wait a l|
|00002490| 69 74 6c 65 00 20 20 80 | 0b 20 df 02 28 31 29 3d |itle. .|. ..(1)=|
|000024a0| 2d 31 20 80 42 20 73 68 | 6f 6f 74 64 65 6c 61 79 |-1 .B sh|ootdelay|
|000024b0| 2e 77 3d 30 20 20 20 20 | 20 20 3b 20 41 72 65 20 |.w=0 | ; Are |
|000024c0| 77 65 20 53 68 6f 6f 74 | 69 6e 67 3f 00 20 20 20 |we Shoot|ing?. |
|000024d0| 20 73 68 6f 6f 74 64 65 | 6c 61 79 2e 77 3d 30 20 | shootde|lay.w=0 |
|000024e0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000024f0| 20 20 20 20 20 3b 20 53 | 65 74 20 64 65 6c 61 79 | ; S|et delay|
|00002500| 20 73 6f 20 74 68 61 74 | 20 73 68 6f 6f 74 69 6e | so that| shootin|
|00002510| 67 20 69 73 20 73 6c 6f | 77 65 72 00 20 20 20 20 |g is slo|wer. |
|00002520| 63 75 72 62 75 6c 2b 31 | 20 20 20 20 20 20 20 20 |curbul+1| |
|00002530| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|00002540| 20 20 20 20 3b 20 41 64 | 64 20 63 75 72 72 65 6e | ; Ad|d curren|
|00002550| 74 20 62 75 6c 6c 65 74 | 20 62 79 20 6f 6e 65 00 |t bullet| by one.|
|00002560| 20 20 20 20 80 0b 20 63 | 75 72 62 75 6c 3d 23 6e | .. c|urbul=#n|
|00002570| 75 6d 62 75 6c 20 80 21 | 20 63 75 72 62 75 6c 3d |umbul .!| curbul=|
|00002580| 30 20 20 20 20 20 3b 20 | 57 65 20 63 68 65 6e 63 |0 ; |We chenc|
|00002590| 6b 20 69 66 20 77 65 20 | 6e 65 65 64 20 74 6f 20 |k if we |need to |
|000025a0| 73 74 61 72 74 20 66 72 | 6f 6d 20 74 68 65 20 66 |start fr|om the f|
|000025b0| 69 72 73 74 20 6f 6e 65 | 00 20 20 20 20 62 75 6c |irst one|. bul|
|000025c0| 28 63 75 72 62 75 6c 29 | 3d 34 30 30 20 20 20 20 |(curbul)|=400 |
|000025d0| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000025e0| 20 3b 20 42 75 6c 6c 65 | 74 73 20 6c 69 66 65 20 | ; Bulle|ts life |
|000025f0| 69 6e 20 66 72 61 6d 65 | 73 00 20 20 20 20 62 70 |in frame|s. bp|
|00002600| 6f 73 28 63 75 72 62 75 | 6c 29 5c 78 3d 78 2b 62 |os(curbu|l)\x=x+b|
|00002610| 78 28 61 6e 67 6c 65 29 | 2c 79 2b 62 79 28 61 6e |x(angle)|,y+by(an|
|00002620| 67 6c 65 29 20 3b 20 49 | 74 27 73 20 70 6f 73 69 |gle) ; I|t's posi|
|00002630| 74 69 6f 6e 00 20 20 20 | 20 62 76 65 6c 28 63 75 |tion. | bvel(cu|
|00002640| 72 62 75 6c 29 5c 76 78 | 3d 62 76 78 28 61 6e 67 |rbul)\vx|=bvx(ang|
|00002650| 6c 65 29 2c 62 76 79 28 | 61 6e 67 6c 65 29 20 20 |le),bvy(|angle) |
|00002660| 3b 20 61 6e 64 20 76 65 | 6c 6f 63 69 74 79 00 20 |; and ve|locity. |
|00002670| 20 80 c0 00 00 20 20 88 | 4b 20 26 62 76 65 6c 28 | .... .|K &bvel(|
|00002680| 30 29 5c 76 78 2c 23 6e | 75 6d 62 75 6c 2c 26 62 |0)\vx,#n|umbul,&b|
|00002690| 67 28 30 29 5c 76 78 20 | 20 20 3b 20 6d 61 6b 65 |g(0)\vx | ; make|
|000026a0| 20 67 72 61 76 69 74 79 | 20 63 68 61 6e 67 65 73 | gravity| changes|
|000026b0| 20 74 6f 20 62 75 6c 6c | 65 74 73 20 76 65 6c 6f | to bull|ets velo|
|000026c0| 63 69 74 69 65 73 00 20 | 20 88 4b 20 26 62 70 6f |cities. | .K &bpo|
|000026d0| 73 28 30 29 5c 78 2c 23 | 6e 75 6d 62 75 6c 2c 26 |s(0)\x,#|numbul,&|
|000026e0| 62 76 65 6c 28 30 29 5c | 76 78 20 20 3b 20 61 64 |bvel(0)\|vx ; ad|
|000026f0| 64 20 76 65 6c 6f 63 69 | 74 79 20 74 6f 20 63 6f |d veloci|ty to co|
|00002700| 6f 72 64 73 00 00 20 20 | 80 16 20 6c 3d 30 20 80 |ords.. |.. l=0 .|
|00002710| 18 20 23 6e 75 6d 62 75 | 6c 2d 31 20 20 3b 20 64 |. #numbu|l-1 ; d|
|00002720| 72 61 77 20 61 63 74 69 | 76 65 20 62 75 6c 6c 65 |raw acti|ve bulle|
|00002730| 74 73 00 20 20 20 20 80 | 0b 20 62 75 6c 28 6c 29 |ts. .|. bul(l)|
|00002740| 3e 30 00 20 20 20 20 20 | 20 62 63 2e 77 3d 87 ee |>0. | bc.w=..|
|00002750| 28 62 70 6f 73 28 6c 29 | 5c 78 2c 62 70 6f 73 28 |(bpos(l)|\x,bpos(|
|00002760| 6c 29 5c 79 29 26 24 66 | 66 00 20 20 20 20 20 20 |l)\y)&$f|f. |
|00002770| 80 0b 20 62 63 3d 30 20 | 80 8a 20 62 63 3d 32 35 |.. bc=0 |.. bc=25|
|00002780| 35 00 20 20 20 20 20 20 | 20 20 87 ea 20 62 70 6f |5. | .. bpo|
|00002790| 73 28 6c 29 5c 78 2c 62 | 70 6f 73 28 6c 29 5c 79 |s(l)\x,b|pos(l)\y|
|000027a0| 2c 32 35 35 00 20 20 20 | 20 20 20 80 22 00 20 20 |,255. | .". |
|000027b0| 20 20 20 20 20 20 62 75 | 6c 28 6c 29 3d 30 00 20 | bu|l(l)=0. |
|000027c0| 20 20 20 20 20 80 c0 00 | 20 20 20 20 80 c0 00 20 | ...| ... |
|000027d0| 20 80 17 20 6c 00 00 20 | 20 87 cb 20 23 61 6e 67 | .. l.. | .. #ang|
|000027e0| 6c 65 73 77 65 65 70 2b | 33 2c 78 2c 79 2c 31 36 |lesweep+|3,x,y,16|
|000027f0| 2c 31 36 20 20 20 20 3b | 20 73 61 76 65 20 62 61 |,16 ;| save ba|
|00002800| 63 6b 67 72 6f 75 6e 64 | 00 20 20 88 03 20 61 6e |ckground|. .. an|
|00002810| 67 6c 65 2b 33 2c 78 2c | 79 20 20 20 20 20 20 20 |gle+3,x,|y |
|00002820| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 3b 20 | | ; |
|00002830| 61 6e 64 20 62 6c 69 74 | 20 74 68 65 20 73 68 69 |and blit| the shi|
|00002840| 70 00 00 80 bc 20 b1 02 | 28 24 34 35 29 20 80 8a |p.... ..|($45) ..|
|00002850| 20 64 65 61 74 68 20 20 | 20 20 20 20 20 20 20 20 | death | |
|00002860| 20 3b 20 75 6e 74 69 6c | 20 77 65 20 22 65 73 63 | ; until| we "esc|
|00002870| 61 70 65 22 20 6f 72 20 | 64 65 61 74 68 00 00 80 |ape" or |death...|
|00002880| 02 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 |. | |
|00002890| 20 20 20 20 20 20 20 20 | 20 20 20 20 20 20 20 20 | | |
|000028a0| 20 20 20 20 20 20 3b 20 | 45 6e 64 20 6f 75 72 20 | ; |End our |
|000028b0| 6e 69 63 65 20 70 72 6f | 67 72 61 6d 2e 3b 29 00 |nice pro|gram.;).|
+--------+-------------------------+-------------------------+--------+--------+